package com.divemotor.ventarepuestosinternet.service;

import java.util.List;

import com.divemotor.ventarepuestosinternet.exception.DivemotorBusinessException;
import com.divemotor.ventarepuestosinternet.model.Grupo;
import com.divemotor.ventarepuestosinternet.model.SubGrupo;
import com.divemotor.ventarepuestosinternet.model.TipoComponente;
import com.divemotor.ventarepuestosinternet.model.Vehiculo;
import com.divemotor.ventarepuestosinternet.model.VehiculoExtra;

public interface SubGrupoService {
	
	public void insertar(SubGrupo subGrupo) throws DivemotorBusinessException;
	public void actualizar(SubGrupo subGrupo) throws DivemotorBusinessException;
	public List<SubGrupo> listar() throws DivemotorBusinessException;
	public void eliminar (SubGrupo subGrupo) throws DivemotorBusinessException;
	public List<SubGrupo> buscar(SubGrupo subGrupo) throws DivemotorBusinessException;
	public SubGrupo obtenerPorNombre(SubGrupo subGrupo) throws DivemotorBusinessException;
	
	public List<SubGrupo> listarPorGrupo(SubGrupo subGrupo) throws DivemotorBusinessException;
	public SubGrupo obtenerPorCodigoSAP(SubGrupo subGrupo) throws DivemotorBusinessException;
	public SubGrupo obtenerPorId(SubGrupo subGrupo) throws DivemotorBusinessException;
	public List<SubGrupo> listarSubGruposPorVehiculoYGrupo(Vehiculo vehiculo, Grupo grupo, TipoComponente tipo) throws DivemotorBusinessException;
	public List<SubGrupo> listarSubGruposPorVehiculoExtraYGrupo(VehiculoExtra vehiculoExtra, Grupo grupo) throws DivemotorBusinessException;

}
